package com.cskaoyan.javase.oop1._9idea;

/**
 * 构造方法的名字必须和类名一模一样吗？
 * 显然是需要一样，构造方法必须和类名一致，因为这就是定义的要求。
 * 那么我类名的书写不规范，比如没有用大驼峰，那么就会连带着构造器的命名也会出现问题
 *
 * 成熟的Java程序员会在看到小驼峰命名的标识符时，下意识的觉得：
 *      1.它可能是一个方法（如果后面带括号）
 *      2.它可能是一个变量（如果后面没有括号）
 *
 * 但是，我相信他一般都不会联想到，这里居然会是一个class类名。
 *
 *
 * 普通方法在命名时，允许和类名一样吗？
 * 从语法角度来说，
 * Java语法并未限制一个普通方法的名字和类名不同，也就是说普通方法在命名时，允许和类名保持一致。
 *
 * 但是这么书写，IDEA会给我们提示警告信息，所以我们不要这么做：
 *
 * 方法名和类名保持一致，是构造器的专属。
 * 普通方法不应该这么使用，普通方法和类名保持一致是不合适的。
 *
 * @since 14:54
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        Student student = new Student();
        student.Student();
        student student2 = new student();
    }
}

class Student {
    public Student() {
    }

    public void Student(){}
}

// 错误的命名
class student {
    public student() {
    }
}